Log Rotation va Retention
Log Rotation nima?
Log rotation — bu log fayllarining o‘sib ketishini oldini olish va disk xotirasini samarali boshqarish uchun log fayllarini avtomatik ravishda arxivlash, yangilash yoki o‘chirish jarayonidir. Bu jarayon natijasida eski loglar arxivlanadi (masalan, .gz formatida siqiladi), yangi log fayllari esa toza holatda yaratiladi.
Log rotation qanday ishlaydi?
Linuxda log rotation odatda logrotate utilitasi orqali amalga oshiriladi. U konfiguratsiya fayllari asosida belgilangan vaqtda yoki fayl hajmi oshganda loglarni aylantiradi.
Asosiy imkoniyatlari:
- Log fayllarini belgilangan vaqtda aylantirish (kunlik, haftalik, oylik)
- Maksimal arxiv nusxalarini saqlash
- Eski loglarni avtomatik o‘chirish
- Loglarni siqish (compress)
- Maxsus skriptlar orqali log rotationdan keyingi amallarni bajarish
Misol konfiguratsiya:
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>&1 || true
endscript
}
Log Retention nima?
Log retention — bu log fayllarini qancha muddat saqlash vaqti va siyosatini belgilash jarayonidir. Bu xavfsizlik, audit va disk xotirasini boshqarish uchun muhimdir.
Asosiy yondashuvlar:
- Qonunchilik va kompaniya siyosatiga muvofiq loglarni saqlash muddati (masalan, 30 kun, 1 yil)
- Disk xotirasining maksimal miqdorini belgilash
- Eski loglarni avtomatik o‘chirish yoki arxivlash
rsyslog va journald uchun log rotation va retention
rsyslog
rsyslog log rotationni o‘zi bajarmaydi, lekin log fayllari uchun logrotate ishlatiladi. Konfiguratsiya /etc/logrotate.d/ papkasida har bir xizmat uchun alohida fayl ko‘rinishida bo‘ladi.
journald
systemd-journald log rotation va retentionni o‘z ichiga oladi. Konfiguratsiya /etc/systemd/journald.conf faylida belgilanadi.
Muhim parametrlar:
SystemMaxUse=— loglar uchun maksimal disk xotirasiSystemMaxFileSize=— har bir log faylining maksimal hajmiMaxRetentionSec=— loglarni maksimal saqlash muddati
Misol:
[Journal]
SystemMaxUse=1G
SystemMaxFileSize=200M
MaxRetentionSec=1month
Xulosa
Log rotation va retention Linux tizimida loglarni samarali boshqarish va disk xotirasini tejash uchun muhim jarayonlardir. rsyslog uchun logrotate utilitasi ishlatiladi, journald esa o‘zining ichki mexanizmlariga ega. To‘g‘ri konfiguratsiya tizim xavfsizligi, audit va monitoring uchun muhim ahamiyatga ega.